import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase explosivo verifica si toca algun objeto de esta clase para iniciar la detonacion
 * 
 * @author (Gerardo Antonio Hernandez & Christian Israel Rodriguez Ahumada)
 * @version (29.06.2013)
 */
public abstract class Explosivo extends Caja
{
    /**
     * Act - do whatever the Explosivo wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    protected boolean toca;
    private int numEsp;
    private int maxEsp;
    /**
     * CONSTRUCTOR DE EXPLOSIVO
     */
    
    public Explosivo()
    {
        toca=false;
        numEsp=0;
        maxEsp=10;
    }
    /**
     * Checa si fue tocado por el heroe para iniciar la detonacion !
     */
    public void act() 
    
    
    {
        World mundo= getWorld();
      
        
       if(isTouching(Heroe.class)&& toca==false )
        {
            Greenfoot.playSound("Explosion.wav");
           Actor a=getOneIntersectingObject(Heroe.class);
  
           
           
          
            toca=true;
            
            explota();
             ((Heroe)a).decrementaVidas();
            ((Heroe)a).goHome();
        
        }
       else  if(isTouching(Bala.class)){
           Greenfoot.playSound("Explosion.wav");
           Actor a=getOneIntersectingObject(Bala.class);
           
           setImage("nitro1.png");
           Greenfoot.delay(3);
           mundo.removeObject(this);
           mundo.removeObject(a);
           } 
        
        
        
    }    
    
    public abstract void explota();
}
